Tags: #◇Computer Science #◇NSCOM01 #◇Conceptual #◇SIP #◇VoIP
◇Overview
The Session Initiation Protocol (SIP), defined in RFC 3261, is an application-layer signaling protocol used for establishing, modifying, and terminating multimedia sessions (like VoIP calls) over IP networks. SIP's main vision is to route calls using mnemonic identifiers (like email addresses) rather than static phone numbers, enabling high mobility and device independence.
◇Key Definitions
- SIP (Session Initiation Protocol): A signaling protocol used to set up and manage multimedia sessions.
- Registrar Server: A SIP server that keeps track of the current IP addresses of registered users.
- Proxy Server: A SIP server that routes requests to the user's current location, acting similarly to DNS.
◇Theoretical Framework / Core Concepts
SIP Services and Capabilities
- Call Setup: SIP facilitates the negotiation between caller and callee to agree upon media types, port numbers, and specific codecs (e.g., PCM mu-law vs. GSM).
- Name Translation / User Location: It maps a user-friendly identifier (e.g.,
alice@domain.com) to the dynamic IP address where the user's device is currently connected. - Call Management: SIP allows active sessions to be modified. Users can add new media streams (e.g., upgrading a voice call to a video call), change codecs mid-session, transfer calls, or invite new participants to create a conference.
SIP Architecture: Servers
The SIP infrastructure relies on specialized servers to manage mobility and routing.
- Registrar Server: When a user boots up their SIP client, it sends a
REGISTERmessage to their domain's Registrar Server. This updates a database mapping the user's SIP URI to their current IP address. - Proxy Server: When a caller wants to reach a callee, they send an
INVITEto their local Proxy Server. The proxy resolves the callee's domain, contacts the corresponding proxy or registrar, and routes theINVITEto the callee's current IP.
◇Protocol Walkthroughs
Call Setup Example
Assume Alice wants to call Bob using SIP. The default port for SIP messages is 5060.
- INVITE: Alice's client sends a SIP
INVITEmessage. The payload contains a description (usually in SDP - Session Description Protocol) specifying Alice's IP address, her receiving port, and her preferred codec (e.g., PCM mu-law). - Response:
- If Bob accepts the call and supports the codec, his client sends a
200 OKmessage back. The response contains Bob's IP, his receiving port, and the agreed-upon codec. - If Bob does not support the codec, his client might reply with a
606 Not Acceptable, prompting Alice to try a different codec.
- If Bob accepts the call and supports the codec, his client sends a
- ACK: Alice sends an
ACKmessage to acknowledge Bob's200 OK. - Media Flow: The SIP signaling phase is complete. The actual audio/video data now flows directly between Alice and Bob over RTP.
◇Summary & Key Takeaways
- SIP separates the signaling (call setup/teardown) from the actual media transport (which is handled by RTP).
- It enables user mobility by mapping human-readable SIP URIs to dynamic IP addresses using Registrar and Proxy servers.
- SIP allows dynamic negotiation of session parameters (IPs, ports, codecs) and in-call modifications.
◇References & Navigation
- Previous Topic: ◇Real-Time Protocols
- Next Topic: ◇P2P Architecture and BitTorrent
- Related Notes: ◇Applications
ACTIVE RECALL VERIFICATION
Select an answer to verify conceptual comprehension and reveal the technical rationale.
What RFC formally defines the Session Initiation Protocol (SIP)?
What is the primary function of SIP?
Which of the following is NOT a core service provided by SIP?
Which server acts similarly to a local DNS server by routing INVITE messages to locate a callee?
What does a SIP client do when it first powers on to ensure it can receive calls?
What is the default port number used for SIP messages?
What message does Alice send to Bob to initiate a SIP call?
If Bob receives a call setup request but does not support the requested audio codec, what SIP response might he send?
After SIP negotiation is complete (INVITE, OK, ACK), how does the actual audio data travel?
Which protocol is typically used to format the payload of a SIP INVITE message to describe IP addresses, ports, and codecs?